package org.xx.armory.ofs;

import java.io.InputStream;
import java.io.OutputStream;

/**
 * 表示上传的文件。
 */
public interface UploadFile
        extends AutoCloseable {
    /**
     * 获取上传文件的文件名。
     *
     * @return 上传文件的文件名。
     */
    String getFileName();

    /**
     * 读取上传的文件的内容。
     *
     * @return 用于读取文件内容的输入流。
     * @throws java.io.UncheckedIOException
     *         如果创建输入流出错。
     */
    InputStream openForRead();

    /**
     * 写入上传文件的内容。
     *
     * @return 用于写入文件内容的输出流。
     * @throws java.io.UncheckedIOException
     *         如果创建输出流输错。
     */
    OutputStream openForWrite();
}
